#ifndef __MENU_H
#define __MENU_H

#include "include.h"
#include "Control.h"


typedef enum {
    MENU_MAIN,              //主菜单
    MENU_PARAM_SETTING,
    MENU_SUBJECT_SELECTION,
    MENU_MODULE_TESTING,
    MENU_BACK,
    SUBJECT_WAIT,
    SUBJECT_1,
    SUBJECT_2,
    SUBJECT_3,
    CAMERA
} MenuState_t;

/*typedef enum{
    SUBJECT_WAIT,
    SUBJECT_1,
    SUBJECT_2,
    SUBJECT_3
}MenuState_Sel;
*/

typedef struct {
    const char* text;
    MenuState_t nextState;
    void (*action)(void);
} MenuItem_t;

void Menu_Init(void);
void Menu_Control_AddItem(MenuState_t state, const MenuItem_t *item);   //内部使用
void Menu_HandleInput(void);    //内部使用
void Menu_UpdateDisplay(void);  //内部使用
void Menu_Run(void);


#endif
